Products Puzzle Piece

FORTRAN

and MP Application Development

Magic Rule

Writing programs that run on multiple processors and take maximum advantage of the hardware is a difficult and complex task. Debugging and tuning these programs is even more difficult. The Silicon Graphics Developer Magic environment is one of the few toolsets specifically designed to facilitate the development of parallel programs.

There are four tools which, when combined, create a powerful development environment:

Using Pro MPF, programmers can develop their multiprocess applications on a single processor system, use Pro MPF to understand the code and produce a multiprocessor version. Programmers can also execute the parallelized program on a multiple processor system. The compiled executable will automatically determine the number of processors available and execute accordingly.


POWER FORTRAN Analyzer (PFA)

The POWER FORTRAN Analyzer is used for initial code parallelization. Users run their code through PFA, which looks at the program structure, determines which loops it can parallelize, which are best left serial, and which have one or more obstacles preventing their parallelization.

PFA always errs conservatively - if it is not sure whether it can parallelize a loop safely, it will not do so. PFA modifies the user original source to a transformed source that is optimized and parallelized. It acts as a preprocessor for the Silicon Graphics F77 compiler, which understands the parallel directives and has its own MP extensions.


Pro MPF

Pro MPF provides a powerful visual interface into PFA transformations to show which loops were parallelized, which were not, and why they were not. In all cases where a loop could not be parallelized, WorkShop Pro MPF will show the user the obstacles to parallelization and allow the user to rearrange the algorithm to circumvent those obstacles. Where it can, WorkShop Pro MPF will prompt the user for the additional information that will allow PFA to parallelize that code section.

Pro MPF also allows control over PFA assertions and directives, as well as parallelization and MP scheduling controls. Integration with the ProDev WorkShop Performance Analyzer allows the user to identify the most expensive loops in the program and concentrate on those, rather than waste effort tuning loops that do not use significant time during execution.

Understanding Parallelized Code

Pro MPF provides the following capabilities that allow programmers to understand and develop parallelized code more easily:


FORTRAN Compiler

For IRIX 5.3

FORTRAN 77 COMPILER Complies to ANSI standard X3.9-1978. Compatible with VAX/VMS FORTRAN, Encore FORTRAN and supports Cray Extensions.

For IRIX 6.x

MIPSpro FORTRAN 77 COMPILER - 64 bit ANSI FORTRAN 77 compiler optimized for systems based on MIPS R8000 running IRIX 6. Compatible with VAX/VMS FORTRAN and supports Cray extensions.

MIPSpro FORTRAN 90 COMPILER - 64 bit ANSI FORTRAN 90 compiler with additional support for user-defined multi-processing directives for systems based on MIPS R8000 running IRIX 6. Compatible with VAX/VMS FORTRAN and supports Cray extensions.


ProDev WorkShop Programming Environment

The ProDev WorkShop environment is specifically designed to handle the debugging and tuning of MP programs.

Multiprocess Debugger

The Multiprocess View of the debugger allows users to more easily debug parallelized programs. MP View allows users to set breakpoints at the creation of a new process, handle sprocs and threads. MP View also provides a separate debugging view for each thread of the program.

Performance Analyzer

The Performance Analyzer has several views. All of the views can be used to look at performance of each thread of an executing program.

Sampling Paradigm

The performance analyzer utilizes a sampling paradigm that allows the collection of performance data at specified points during program execution, and analysis of that data during the different phases of the program execution. The sampling paradigm is critical for very large programs as it allows for analysis of specific portions of the program, and tuning of each portion individually.

Combined, these tools provide a superb environment for facilitating the development of applications to run on MP systems. Whether you are an experienced MP application developer, or are trying to write your first MP program, the Silicon Graphics MP development tools provide you with the functionality you need to take advantage of all of the power of your systems.


Copyright © 1996 Silicon Graphics, Inc. All Rights Reserved.